# 内置函数
# 绝对值
print(abs(-1))

# 判断可迭代对象中的对象都不为空
print(all([1, 2, '']))
print(all([1, 2, '2']))
print(all([]))  # 迭代器为空 返回true
# any与all相反，迭代对象中有一个不空则真
print(any([1, '', '']))
print(any(['', '', '']))
# 进制转换
print(bin(11))
print(oct(11))
print(hex(11))

# 判读对象能否被调用（加括号）
print(callable(all))
# ASCII码转换
print(chr(65))
print(ord('A'))


# 查看对象下有那些属性
class A:
    pass


obj = A()
print(dir(obj))

# 显示商和余数
print(divmod(1000, 33))

# 枚举，循环得到索引和值
for i, v in enumerate(['a', 'b', 'c']):
    print(i, v)

# 执行字符串表达式
print(eval('{"a":1}'))
print(eval('1+1'))

# 不可变集合
s = frozenset({1, 2, 3})

# 获取hash值
print(hash('4'))

# isinstance 判断对象是不是类的示例 用于类型判读
print(isinstance(obj, A))
print(isinstance([3, 2], list))

# 10的3次方对3取余数
print(pow(10, 3, 3))

# 四舍五入
print(round(1.3))
print(round(1.5))

# 对应值
v1='hello'
v2=[111,222,333,444,555,666]
res=zip(v1,v2)
print(res)
print(list(res))

# 通过字符串导入模块
time=__import__('time')
time.sleep(1)